#include "graphic_particle_modifier_visibility.h"

// -- LOCAL

// .. REFERENCES

#include "object.h"
#include "timer.h"
#include "graphic_particle_modifier_gravity.h"
#include "graphic_particle_table.h"

// -- PUBLIC

// .. CONSTRUCTORS

GRAPHIC_PARTICLE_MODIFIER_VISIBILITY::GRAPHIC_PARTICLE_MODIFIER_VISIBILITY() :
    GRAPHIC_PARTICLE_MODIFIER(),
    VisibilityCurve()
{
    Flags |= GRAPHIC_PARTICLE_SYSTEM::FLAG_UseColor;
}

// ~~

GRAPHIC_PARTICLE_MODIFIER_VISIBILITY::~GRAPHIC_PARTICLE_MODIFIER_VISIBILITY()
{
}

// .. OPERATIONS

VOID GRAPHIC_PARTICLE_MODIFIER_VISIBILITY::Modify(
    GRAPHIC_PARTICLE_TABLE::FIXED_PARTICLE_TABLE & /*particle_table*/,
    const TIMER & /*time_step*/
    )
{
    INDEX
        particle_index;

    for_each_index( particle_index, GRAPHIC_PARTICLE_TABLE::FixedParticleCount )
    {
        //particle_table.Color[ particle_index ].Alpha = VisibilityCurve.GetValueAtTime( LifeTime - particle_table.LifeTime[ particle_index ] );
    }
}
